|
Date : 12 novembre 1992 Programme : PKLITE V1.13 Protection : Unexpandable ! Outils : SOFT-ICE V2.50 Temps pass� : 20 minutes + ? Fichier : PKLITE.EXE Soci�t� : SHAREWARE Divers : Compact� par PKLITE PRO avec l'option -E Origine : ? Num�ro : 194 R�serv� aux amis... Voulant savoir de quelle fa�on �tait effectu� le test qui emp�chait de d�comprimer un fichier ayant �t� comprim� avec PKLITE Version PRO, je me suis d�cid� � tracer une fois de plus ce dernier. Pour arriver rapidement � l'endroit interessant il est n�cessaire de placer un point d'arr�t sur l'INT 21 SF 3D ( ouverture de fichier ). Puis en faisant du F10 on arrive � un CALL 079E qui affiche les diff�rents messages: FILE NOT COMPRESSED, FILE NOT EXPANDABLE, FILE COULD NOT BE COMPRESSED. etc... En comparant les diff�rences dans le cas d'un fichier EXPANDABLE et un fichier non EXPANDABLE je m'aper�ois que pour qu'un fichier soit EXPANDABLE il faut que le contenu de AX contienne 0000 au retour de ce CALL. CS=0FE5 CS:0AE1 7503 JNZ 0AE6 CS:0AE3 E94802 JMP 0D2E CS:0AE6 E8E61C CALL 27CF CS:0AE9 8B1E780E MOV BX,[0E78] CS:0AED E8AEFC CALL 079E ; CALL DE TRAITEMENT. SI AX = 0000 AU RETOUR DU CALL ON DECOMPRIME. CS:0AF0 48 DEC AX ; AX = FFFF SI DECOMPRESSION. CS:0AF1 74D3 JZ 0AC6 CS:0AF3 833E380100 CMP WORD PTR [0138],+00 Je fait un essai en RAM sous SOFT-ICE avec comme param�tres sur la ligne de commande: PKLITE -X VGACOPY.EXE ( VGACOPY est un programme ind�comprimable ). Et cel� fonctionne. En effet apr�s avoir affich� le message: FILE CAN'T BE EXPANDED ( ceci est d� au passage dans le CALL 079E ) le programme affiche : EXPANDING: VGACOPY.EXE ! Magnifique. Il ne reste plus qu'� faire la modif dans PKLITE. Et l� je vous laisse faire car apr�s avoir essay� la commande: PKLITE -X PKLITE en interceptant le CALL sous SOFT-ICE... tout se plante avec le message DISK FULL ! Mais ce qui est plus interessant c'est qu'un programme d�ja d�comprim� auquel on fait subir le m�me sort ( AX = 0000 apr�s le CALL ) a exactement la m�me r�action. Ce qui laisserait � penser que PKLITE n'est pas comprim� ! Mais il l'est. Alors quoi ? En attendant voici le lan�eur crypt� et anti d�bug ( INT 0 ) pour d�comprimer les fichiers comprim�s avec l'option -E de PKLITE version PRO. Il faut placer un 9090 a la place du saut 74D3 situ� en CS:0AF1. 17 Novembre 1992 Y a de quoi �tre d�gout�, je viens de recevoir PKUNLITE qui fait exactement ce que j'ai r�ussi � faire et plus proprement ! 18 Novembre 1992 O� j'ai parl� un peu trop vite... En fait PKUNLITE a r�ussi � d�comprimer PKLITE lui-m�me ce que ne r�ussissait pas � faire mon KPLITE.COM par contre il ne peut pas d�comprimer VGACOPY pour des raisons d'INITIALISATION de POINTEURS ??! PKLITE �tant en "clair" il n'est plus n�cessaire d'utiliser mon lan�eur ( snif ! ) il suffit de faire les modifs dans le fichier... Je le garde toutefois pour de futures applications car j'y avais apport� quelque substancielles am�liorations au point de vu anti-debug. ( INT 0 , PUSH-PUSH-RETF, PSEUDO CALLF, etc... ) 10/12/93 O� je viens de recevoir UNP V3.10 qui d�comprime tout ( sauf VGACOPY52, mais le header semble avoir �t� trafiqu� ) m�mes les versions pro de PKLITE ( v1.20 ) ainsi que les TZ, UNZEXE, DIET etc... plus de 63 formats de compression diff�rents. FREDDY |